home *** CD-ROM | disk | FTP | other *** search
/ Power Tools 1993 November - Disc 2 / Power Tools Plus (Disc 2 of 2)(November 1993)(HP).iso / hotlines / wsyhl / ezpexwp.txt < prev    next >
Text File  |  1993-07-22  |  20KB  |  359 lines

  1. EZPXWP
  2.  
  3.  
  4.            The Evolution of PEXlib and Open Computing
  5.  
  6.                          Kevin Borchert
  7.  
  8.                      Hewlett-Packard Company
  9.                    Systems Technology Division
  10.                   Fort Collins Product Planning
  11.  
  12.  
  13.  
  14.  
  15.                           June 8, 1993
  16.   Introduction
  17.   Several years ago, the 3D graphics industry began moving slowly
  18. but steadily from proprietary APIs (application programming
  19. interfaces) to open systems.  The race has heated up considerably
  20. within the past year.  It's not hard to understand why.  API
  21. users have realized that they can't afford to be locked into the
  22. technology of a single vendor.  They demand portability so their
  23. applications can be quickly ported to multiple platforms.  They
  24. require ever-increasing graphics functionality on their existing
  25. systems.  And they need a common, consistent development
  26. environment where the "look and feel" of applications remains the
  27. same from platform to platform.  These are compelling points for
  28. migrating from a proprietary API to an open graphics system.  But
  29. what's the best path to take?
  30.   Today PEXlib and OpenGL are the front-runners for the position
  31. of de facto standard in graphics APIs.  Both products have
  32. received exposure in trade magazines, and both have their
  33. supporters.  To date, PEXlib has received the endorsement of the
  34. X Consortium and all major workstation vendors except Silicon
  35. Graphics, Inc. (SGI).  Not surprisingly, SGI opposes PEXlib and
  36. supports OpenGL, a derivative of its proprietary IRIS GL product.
  37. And although OpenGL is not yet available, SGI has succeeded in
  38. positioning OpenGL as a leading API contender while creating a
  39. screen of uncertainty and confusion around PEXlib.
  40.   Like other technologies, the PEX protocol and PEXlib API have
  41. been in a constant state of evolution since their inception.
  42. This paper incorporates the most recent developments to give an
  43. accurate and current snapshot of PEXlib.  True objectivity is
  44. difficult to achieve since all API vendors have a vested interest
  45. in propagating their own vision of the best "open" path to
  46. follow.  Still, this paper attempts to paint an accurate picture
  47. of the need for open graphics and the current position of PEXlib.
  48. At the same time it clarifies and rebuts information about PEXlib
  49. that is either flawed, incomplete or out of date.  We hope the
  50. information presented here will reduce confusion and help
  51. application developers make an informed decision regarding
  52. PEXlib, especially as it compares to OpenGL.
  53.  
  54. The Trend Toward Open Computing
  55.   In March 1993 at Uniforum in San Francisco, six of the world's
  56. largest workstation vendors made a joint announcement.
  57. Hewlett-Packard Company, Sun Microsystems, IBM, The Santa Cruz
  58. Operation (SCO), Univel, and UNIX System Laboratories announced
  59. their intent to collaborate on a common open software environment
  60. (cose).  The significance of the announcement cannot be
  61. overstated.  These major vendors-still aggressive competitors in
  62. the computer market-are opening their books, sharing their data
  63. and engineering resources, and working together to define a
  64. standard specification for a common computing environment.
  65.   As a result of the cose (pronounced "cosy") process, computer
  66. users will have a consistent computing experience, and software
  67. developers will have a consistent set of programming interfaces
  68. regardless of the platform they use.  The goal is openness:
  69. vendors are bringing a unified look and feel to multi-vendor
  70. environments, enabling computer users to transparently access
  71. data and applications from any point on the network, regardless
  72. of the platform on which they work.
  73.   The cose process includes capabilities for networking,
  74. graphics, multimedia, object-oriented programming, and systems
  75. management.  The graphics portion, when implemented in the common
  76. open software environment, provides the fundamental programming
  77. utilities needed to produce graphics-intensive applications while
  78. shielding developers from specific hardware dependencies.  This
  79. is important to the success of any open graphics strategy.  Due
  80. to constant improvements in system performance and the widespread
  81. use of sophisticated graphics in today's applications, developers
  82. of 3D graphics applications have been clamoring loudly for a
  83. consistent set of software utilities and protocols.
  84.   To address this, HP, Digital Equipment Corp., IBM, SCO,
  85. SunSoft, Univel and USL are agreeing upon common API
  86. specifications and interoperability protocols that support the X
  87. Consortium's imaging and graphics facilities.  In the area of
  88. graphics, the group has endorsed the following:
  89.  Xlib/X for basic 2D pixel graphics
  90.  PEXlib/PEX for 2D and 3D geometry graphics
  91.  XIElib/XIE for advanced imaging
  92.   As part of the cose announcement, these companies agreed to a
  93. common approach for programming documentation, validation testing
  94. and test suites.  Furthermore, they're working together on
  95. specific implementations of the protocols and APIs, and have
  96. agreed to share detailed information where needed to accelerate
  97. the delivery of common components that will increase graphics
  98. functionality.
  99.   The development of the cose process came in direct response to
  100. increased user demands for a consistent technology that will
  101. interoperate across multiple platforms.  In a word, computer
  102. users have been asking for "openness" so they can choose freely
  103. among all hardware technologies available to them.  Application
  104. developers also view openness as their key to reducing
  105. development costs, increasing portability, and accelerating time
  106. to market with new applications.
  107.  
  108.   The Evolution of PEXlib
  109.   Few people in the graphics industry dispute the value of open
  110. computing.  The best way to implement open computing, however, is
  111. a point of contention that has placed the graphics marketplace at
  112. a crossroads.  Major 3D application developers, pressured to
  113. reduce development costs and improve time to market, are setting
  114. their course for the next five years.  They are deciding whether
  115. to link their fortunes to PEXlib or OpenGL.
  116.   The evolution of PEXlib (and open graphics in general) shares
  117. many parallels with the evolution of the X Window System.  Just a
  118. few years ago, all major workstation vendors had proprietary
  119. windowing systems.  When the X Window System first appeared on
  120. the scene, vendors resisted the new technology.  They pointed to
  121. the inadequacies of the X Window system-early releases were slow,
  122. cumbersome, complicated, and functionally incomplete-while
  123. stressing the strengths of their proprietary systems running on
  124. proprietary hardware.  Some vendors even offered to "open" their
  125. proprietary systems, as long as they retained control of
  126. licensing and development.  Still, the X Window System evolved
  127. under the guidance of the X Consortium to become the unifying
  128. windowing standard.
  129.   A similar situation now exists with PEXlib.  All major
  130. workstation vendors currently have proprietary APIs:
  131. Hewlett-Packard has Starbase, Sun has XGL, Silicon Graphics has
  132. IRIS GL.  When PEXlib was first introduced, most vendors were
  133. less than enthusiastic.  Like X, first releases of PEXlib were
  134. considered slow, cumbersome, complicated and functionally
  135. incomplete.  Also like X, PEXlib has evolved around a shared
  136. sample implementation made available by the collaborative effort
  137. of the X Consortium.  As a result, PEXlib 5.1 has emerged as a
  138. stable, tangible product that is available today on a wide range
  139. of platforms, from low-cost PEX terminals to high-end compute
  140. servers.
  141.   Only SGI actively opposes PEXlib, proposing instead that the
  142. proprietary IRIS GL product be converted to an "open" product.
  143. Unlike the open collaboration on PEXlib, the development of
  144. OpenGL is tightly controlled by SGI's architectural review board,
  145. an invitation-only committee with closed membership.  Another key
  146. difference:  licensing fees for OpenGL will cost between $25,000
  147. and $300,000, whereas licensing of PEXlib, like the X Window
  148. System, is free.
  149.  
  150.   The PHIGS Connection
  151.   For the majority of 3D application developers, especially those
  152. with multiple PHIGS-based APIs, PEXlib seems to be the obvious
  153. choice for a standard low-level API.  However, some developers
  154. hesitate to endorse PEXlib because of problems with early
  155. implementations of the PHIGS standard.
  156.   Like the X Window System, PHIGS was an ambitious standard, and
  157. there was great interest industry-wide in defining the
  158. specification as quickly as possible.  PHIGS products were
  159. quickly developed and introduced before the standard was fully
  160. defined.   All of the early implementations had pre-guessed the
  161. standard differently, and some versions did not conform to
  162. mandated functionality because different hardware platforms
  163. supported the standard with different levels of efficiency.  Not
  164. surprisingly, portability was difficult when the PHIGS standard
  165. was first made available, although PHIGS has matured to address
  166. most of its earlier problems.
  167.   PEXlib has also matured since it was first introduced, and PEX
  168. has evolved far beyond its earlier ties to the PHIGS standard.
  169. Early concerns about portability, performance, functionality and
  170. openness have been addressed by the PEX Committee under the
  171. guidance of the X Consortium.  In fact, in the past year the PEX
  172. acronym has become a misnomer;  far from being a "PHIGS Extension
  173. to X," PEX now incorporates the mainstream needs of most 3D
  174. applications and represents the natural progression of an
  175. international standard.
  176.  
  177. Strength in Numbers
  178.   Both PEXlib and OpenGL claim a wide presence in the 3D graphics
  179. industry.  The truth is, neither can yet claim to be the
  180. pervasive favorite of workstation users.
  181.   However, PEXlib is shipping today while OpenGL is not.  The
  182. reason is obvious.  Core support for PEXlib began with the X
  183. Consortium, which was able to focus its resources and define the
  184. specification in under one year.  Also, the PEX Interoperability
  185. Center (PEX IC) in the U.S., and a new PEX IC in Japan, are
  186. continuing the collaboration of engineering resources
  187. industry-wide.  By any standards, these are compelling indicators
  188. of unification behind PEXlib.
  189.   Still, SGI claims pervasiveness for OpenGL due to the company's
  190. large presence with IRIS GL in high-end workstations.  SGI is
  191. admittedly the industry's most visible provider of graphics
  192. workstations for animation, simulation, imaging and other
  193. high-end niche applications.  That gives IRIS GL a strong
  194. presence in high-end workstation markets.  But other proprietary
  195. APIs serve their markets just as well.
  196.   Starbase (from Hewlett-Packard) and XGL (from Sun) are the
  197. dominant APIs in design/drafting, engineering/analysis, and
  198. scientific research applications, traditional hotbeds of 2D and
  199. 3D graphics workstations.  Looking beyond positioning strategies
  200. and focusing only on the total number of workstations in the
  201. market, HP and Sun workstations far outnumber SGI systems.  So
  202. what does that mean for PEXlib and OpenGL?  Today, neither can
  203. claim pervasiveness.  But HP, Sun, IBM and DEC, the four largest
  204. sellers of workstations on the planet, and all other major
  205. workstation vendors except SGI are migrating to PEXlib.  In
  206. addition, active participation in such things as the PEX IC and
  207. the X Consortium's PEX Committee indicate that momentum is
  208. amassed behind PEXlib.
  209.  
  210.   The Issue of Openness
  211.   According to a survey conducted by Dun and Bradstreet at
  212. Uniforum 1993, interoperability is the single most important
  213. issue for computer and users.  To the end user, interoperability
  214. means freedom, such as being able to plug in a low-cost terminal
  215. that can access data and applications anywhere on the network.
  216. To 3D application developers, it means power, such as having
  217. access to leading-edge technologies that are available from a
  218. variety of platform vendors.
  219.   PEXlib/PEX is designed specifically for client/server
  220. environments, and the PEX IC ensures that PEX will continue to be
  221. available on everything from PEX terminals to supercomputers.  In
  222. fact, client/server operation is possible today, putting PEX
  223. years ahead of OpenGL in that regard.  Although the GLX protocol
  224. gets OpenGL on the network, the PEX protocol is a more efficient
  225. solution since it was intended from the start for network
  226. operation.  For example, PEX edits display lists remotely and
  227. sends SOFAS and NURBS, rather than just polygons, over the
  228. network.
  229. By sending more compact data, network traffic is minimized,
  230. giving PEXlib significant performance advantages in open
  231. client/server environments.
  232.  
  233.   Proven Portability
  234.   The issue of portability has always been key to the success of
  235. PEXlib.  To application developers, it means being able to create
  236. applications that will run on virtually any platform with the
  237. same functionality and with minimal porting effort.  Though
  238. neither PEXlib nor OpenGL can provide benchmarks from conformance
  239. testing, the PEX Committee, PEX IC and cose process are helping
  240. to ensure that any PEXlib application will run on any PEXlib
  241. platform.
  242.   In real-world implementations, PEXlib has already demonstrated
  243. a high degree of portability among various hardware platforms.
  244. AVS, a scientific engineering and data visualization application,
  245. was ported from HP PHIGS to HP PEXlib in a couple of weeks, and
  246. was then ported to IBM's PEXlib in approximately one day.
  247. Another large CAD company in Europe moved an application of 1.3
  248. million lines of code from a version of PHIGS to PEXlib running
  249. on a different platform in just two weeks, including testing
  250. time.  PEXlib also has demonstrated that it provides identical
  251. functionality on comparable hardware platforms from Sun, HP, IBM,
  252. DEC and others.
  253.   Levels of Abstraction
  254.   PEXlib is a hardware-independent API built on top of the PEX
  255. protocol;  OpenGL is a hardware-oriented API.  The level of
  256. abstraction is a key difference between the two systems.
  257. Operating at the lower level, OpenGL is tightly tied to the
  258. capabilities of its underlying hardware, and thus the
  259. functionality available to programmers depends on the evolution
  260. of SGI hardware and graphics capabilities.  PEXlib operates at a
  261. higher level of abstraction, so developers are further removed
  262. from the hardware changes that take place beneath the API.  As
  263. the standard evolves, developers can take advantage of new
  264. functionalities as they become available from a variety of
  265. vendors on a variety of platforms.
  266.  
  267.  
  268.   Common Misconceptions
  269.   The majority of information currently being published about
  270. PEXlib is based on old assumptions or flawed logic that ties
  271. PEXlib too closely to the PHIGS standard.  Here are a few of the
  272. more common misconceptions.
  273.  PEX 6.0 will be incompatible with previous versions of PEXlib.
  274. PEX 6.0 represents the natural evolution of the PEX standard:
  275. current functionality will not change, while additional
  276. functionality for text, markers, complex polygons and display
  277. lists will be added.  Existing PEXlib applications will not be
  278. affected by the upgrade. In fact, HP PEX 5.1 applications can run
  279. on a 6.0 server supporting the 5.1 protocol.  Moving within the
  280. same platform family-for example, between HP or Sun systems-does
  281. not even require a re-link.
  282.  PEXlib is difficult to use.  From a programmer's point of view,
  283. the most difficult aspect of using PEXlib-or any other API,
  284. including OpenGL-is initialization.  The initialization
  285. requirements of the X Window System are consistent across all
  286. APIs.  Once past initialization, programming with PEXlib is
  287. comparable to any other 3D API on the market.  To ease
  288. initialization, HP's PEXlib product currently ships with a
  289. utility that simplifies initialization.  As soon as the HP
  290. utility is standardized, it will be available across all versions
  291. of PEXlib.  In the meantime, HP PEXlib 5.1 includes toolkits,
  292. hypertext and on-line examples to assist programmers.
  293.  Only OpenGL will provide access to Windows NT.  On the contrary,
  294. it's unclear as to when OpenGL will be available on Windows NT.
  295. To date, the only firm announcement from Microsoft is that OpenGL
  296. is not available on the first release of Windows NT.  When OpenGL
  297. is available, it will not support X-based network protocols and,
  298. in fact, will not provide any mechanisms for a remote user
  299. interface.  On the other hand, several companies have announced
  300. their intention to provide X Windows (and thus PEXlib) support
  301. for Windows NT.  These companies will be in a strong position to
  302. provide a PEXlib API integrated into a complete client/server
  303. environment.
  304.  
  305.  
  306.   Conclusions
  307.   As the graphics industry approaches its crossroads for 3D APIs,
  308. the dominant issue of PEXlib versus OpenGL involves a difference
  309. of philosophies.  Should the graphics industry adopt an open
  310. standard as happened with the X Window System, or should a
  311. proprietary product be foisted upon computer users as a de facto
  312. industry standard.  In the end, application developers will make
  313. their decisions with the facts available:
  314.  The X Consortium has endorsed PEXlib and the PEX protocol for 3D
  315. graphics applications.  As a result, PEXlib is shipping today
  316. while OpenGL is not.
  317. All major workstation vendors except SGI endorse PEXlib.
  318.  The common open software environment (cose) process is defining
  319. a comprehensive common computing environment that will support
  320. PEXlib across all major workstation platforms.
  321.  The PEX Interoperability Center (PEX IC) in the United States is
  322. already providing centralized, multi-vendor testing to assure
  323. interoperability across the platforms of all workstation vendors.
  324. A second PEX IC has been established in Japan to accomplish the
  325. same goal.
  326.  PEXlib is controlled by the open-membership PEXlib Committee,
  327. which encourages the participation of any member in the X
  328. Consortium.  OpenGL is controlled by SGI's invitation-only
  329. architectural review board, which maintains tight control of
  330. licensing and development of OpenGL.
  331.  The PEX protocol is intended for client/server as well as
  332. desktop environments, and provides good network performance on a
  333. variety of platforms and price points, from PEX terminals to
  334. computer servers.  The GLX protocol, which was retrofitted to
  335. bring OpenGL to the network, will not provide the required
  336. network performance and lacks choices in terminals.
  337.  Low-cost PEX terminals are already available from a variety of
  338. companies including Tektronix, NCD, Japan Computer, SHOgraphics
  339. and others.
  340.  As a hardware-independent API, PEXlib provides identical
  341. functionality and a high degree of portability across all
  342. platforms that support the standard.  Since OpenGL is a
  343. hardware-dependent API, performance portability is expected to be
  344. poor on all machines except high-end, expensive SGI systems.
  345.  In the end, one question overrides all others:  Are 3D API
  346. implementors better served by proprietary products or by an open
  347. standard, with all that that implies?  The answer to that
  348. question will determine the fates of PEXlib, OpenGL, and
  349. virtually every developer of 3D graphics applications.
  350.                                ###
  351. Kevin Borchert is graphics marketing manager for
  352. Hewlett-Packard's Systems Technology Division (HP STD) in Fort
  353. Collins, Colorado.
  354.       11 Dun and Bradstreet, March 19, 1993, "Two'Thirds of
  355.       Survey Participants Say Right-Sizing Plan              in
  356.       1993 As Companies Seek Efficiency"
  357.  
  358.  
  359. .......................................................................